翻訳と辞書
Words near each other
・ Commemorative coins of Austria
・ Commemorative coins of Bermuda
・ Commando Training Centre Royal Marines
・ Commando Training Wing
・ Commando VIP
・ Commandos (Afghanistan)
・ Commandos (album)
・ Commandos (film)
・ Commandos (series)
・ Commandos de Chasse
・ Commandos Marine
・ Commandos Strike at Dawn
・ Commandry (feudalism)
・ Commandry of Mirow
・ Commandry of Nemerow
Command–query separation
・ Commarin
・ Commatarcha
・ Commatarcha acidodes
・ Commatarcha characterias
・ Commatarcha chrysanches
・ Commatarcha citrogramma
・ Commatarcha oresbia
・ Commatarcha palaeosema
・ Commatarcha quaestrix
・ Commatarcha vaga
・ Commatica
・ Commatica acropelta
・ Commatica bifuscella
・ Commatica chionura


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Command–query separation : ウィキペディア英語版
Command–query separation

Command–query separation (CQS) is a principle of imperative computer programming. It was devised by Bertrand Meyer as part of his pioneering work on the Eiffel programming language.
It states that every method should either be a ''command'' that performs an action, or a ''query'' that returns data to the caller, but not both. In other words, ''Asking a question should not change the answer''. More formally, methods should return a value only if they are referentially transparent and hence possess no side effects.
==Connection with design by contract==
Command–query separation is particularly well suited to a design by contract (DbC) methodology, in which the design of a program is expressed as assertions embedded in the source code, describing the state of the program at certain critical times. In DbC, assertions are considered design annotations – not program logic – and as such, their execution should not affect the program state. CQS is beneficial to DbC because any value-returning method (any query) can be called by any assertion without fear of modifying program state.
In theoretical terms, this establishes a measure of sanity, whereby one can reason about a program's state without simultaneously modifying that state. In practical terms, CQS allows all assertion checks to be bypassed in a working system to improve its performance without inadvertently modifying its behaviour. CQS may also prevent the occurrence of certain kinds of heisenbugs.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Command–query separation」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.